<?php
namespace CAI\HistoricoBundle\Controller;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

use CAI\HistoricoBundle\Entity\Partido;
use CAI\HistoricoBundle\Form\Type\PartidoType;

use \Doctrine\DBAL\DBALException;

class AjaxPartidosController extends AjaxBaseController
{

    public function ajaxGuardarPartidoAction(Request $request)
	{
		if($request->isXmlHttpRequest()) {
			$partido = new Partido();
			$form = $this->createForm(new PartidoType(), $partido);
			$form->handleRequest($request);
			
			$p = $form->getData();

            $fechaPartido = $request->request->get('partidoDia');

			$p->setPartidosDia($this->parseDateToDatabase($fechaPartido));
			$id = $this->getDoctrine()->getRepository('CAIHistoricoBundle:Partido');
			$query = $id->createQueryBuilder('p')
			->select('p, MAX(p.partidos_id) AS max_id');
			$maxId = $query->getQuery()->getResult();

			$p->setPartidosId($maxId[0]['max_id'] +1);

			try{
				$em = $this->getDoctrine()->getManager();
				$em->persist($p);
				$em->flush();
				return new Response();
			}catch (DBALException $e){
				return new Response($e->getMessage(), 500);
			}

		}else{
			return new Response("Request Error", 500);
		}
	}
	
	 public function ajaxActualizarPartidosAction(Request $request)
    {
        if($request->isXmlHttpRequest()) {
            $repository = $this->getDoctrine()->getRepository('CAIHistoricoBundle:Partido');
            $partidos = $repository->findBy(array(), array('partidos_dia' => 'DESC'), 15);

            $reponseString = "";

            foreach($partidos as $p)
            {
                if($p->getPartidosCondicion() == "V")
                {
                    $reponseString .= "<tr><td>{$p->getPartidosDia()->format("d/m/Y")}</td><td>{$p->getEquipo()->getEquiposNombre()} {$p->getPartidosGolesRival()} - {$p->getPartidosGolesCai()} INDEPENDIENTE</td><td>{$p->getTorneoInstancia()->getTorneosInstanciasNombre()} | Fecha: {$p->getPartidosInstancia()}</td></tr>";
                }else{
                    $reponseString .= "<tr><td>{$p->getPartidosDia()->format("d/m/Y")}</td><td>INDEPENDIENTE {$p->getPartidosGolesCai()} - {$p->getPartidosGolesRival()} {$p->getEquipo()->getEquiposNombre()}</td><td>{$p->getTorneoInstancia()->getTorneosInstanciasNombre()} | Fecha: {$p->getPartidosInstancia()}</td></tr>";
                }
            }

            return new Response($reponseString);
        }else{
            return new Response("Invalid request");
        }
    }


}